/* 
对象插件
*/
import Msg from './Msg.vue'
import dayjs from 'dayjs'

const myPlugin = {
  // 当安装插件时自动调用, 在此方法扩展vue的语法
  install (Vue) {
    console.log('install')
    // 添加静态方法
    Vue.staticFn = function () {
      console.log('staticFn')
    }
    // 添加实例方法
    Vue.prototype.$fn = function () {
      console.log('$fn')
    }

    // 注册全局指令
    Vue.directive('upper-text', (el, binding) => {
      console.log('upper-text', binding)
      // 给元素指定文本内容(需要转成大写)
      el.innerText = binding.value.toUpperCase()
    })
    // 注册全局过滤器
    Vue.filter('DateFormat', function DateFormat(value, formatStr='YY-MM-DD HH:mm:ss') {
      console.log('DateFormat', value, formatStr)
      // return 'abc'
      // return moment(value).format('YYYY-MM-DD HH:mm:ss')
      return dayjs(value).format(formatStr)
    })
    
    // 注册全局的组件
    Vue.component('Msg', Msg)
  }
}

export default myPlugin